User friendly targeted methodology for satellite installation using mobile app

ABSTRACT

A client device is provided for use with an APD and an extender. The client device includes a memory, a GUI, and a processor configured to execute instructions stored on the memory to cause the client device to: instruct the GUI to display an onboarding menu including a user selectable onboard extender icon; instruct the extender device to onboard onto the main APD, in response to a user selection of the user selectable onboard extender icon; instruct the GUI to enable the user to perform an operation while the extender device performs the onboarding onto the main APD; instruct the GUI to display a successful onboarding indication if the extender device onboards onto the main APD within a predetermined period of time, or to display a failure onboarding indication if the extender device does not onboard onto the main APD within the predetermined period of time.

BACKGROUND

Embodiments of the invention relate to onboarding a Wi-Fi extender to amain APD using a client device.

SUMMARY

Aspects of the present invention are drawn to a client device for usewith a main access point device (APD), and an extender device, the mainAPD having a host table stored therein, having a first dedicated haul,the extender device having a second dedicated haul for communicationwith the client device, the client device including: a memory; a graphicuser interface (GUI); and a processor configured to execute instructionsstored on the memory to cause the client device to: instruct the GUI todisplay an onboarding menu including a user selectable onboard extendericon; instruct, by way of the second dedicated haul, the extender deviceto onboard onto the main APD, by way of a first dedicated haul, inresponse to a user selection of the user selectable onboard extendericon; instruct the GUI to enable the user to perform an operation whilethe extender device performs the onboarding onto the main APD; instructthe GUI to display a successful onboarding indication if the extenderdevice onboards onto the main APD within a predetermined period of time;and instruct the GUI to display a failure onboarding indication if theextender device does not onboard onto the main APD within thepredetermined period of time.

In some embodiments, the processor is configured to execute instructionsstored on the memory to additionally cause the client device to instructthe extender device to onboard onto the main APD wirelessly.

In some embodiments, the processor is configured to execute instructionsstored on the memory to additionally cause the client device to: accessthe host table; determine whether the extender device onboards onto themain APD within the predetermined period of time by identifying theextender device on the host table in two consecutive instances withinthe predetermined period of time.

In some embodiments, the processor is configured to execute instructionsstored on the memory to additionally cause the client device to instructthe GUI to additionally display troubleshooting instructions if theextender device does not onboard onto the main APD within thepredetermined period of time.

Other aspects of the present disclosure are drawn to a method of using aclient device with a main access point device (APD), and an extenderdevice, the main APD having a host table stored therein, having a firstdedicated haul, the extender device having a second dedicated haul forcommunication with the client device, the method including: instructing,via a processor configured to execute instruction stored on a memory,the GUI to display an onboarding menu including a user selectableonboard extender icon; instructing, via a processor, by way of thesecond dedicated haul, the extender device to onboard onto the main APD,by way of a first dedicated haul, in response to a user selection of theuser selectable onboard extender icon; instructing, via the processor,the GUI to enable the user to perform an operation while the extenderdevice performs the onboarding onto the main APD; instructing, via theprocessor, the GUI to display a successful onboarding indication if theextender device onboards onto the main APD within a predetermined periodof time; and instructing, via the processor, the GUI to display afailure onboarding indication if the extender device does not onboardonto the main APD within the predetermined period of time.

In some embodiments, the method includes instructing, via the processor,the extender device to onboard onto the main APD comprises instructingthe extender device to onboard onto the main APD wirelessly.

In some embodiments, the method includes accessing, via the processor,the host table; and determining, via the processor, whether the extenderdevice onboards onto the main APD within the predetermined period oftime by identifying the extender device on the host table in twoconsecutive instances within the predetermined period of time.

In some embodiments, the method includes instructing, via the processor,the GUI to additionally display troubleshooting instructions if theextender device does not onboard onto the main APD within thepredetermined period of time.

Other aspects of the present disclosure are drawn to a non-transitory,computer-readable media having computer-readable instructions storedthereon, the computer-readable instructions being capable of being readby a client device for use with a main access point device (APD), and anextender device, the main APD having a host table stored therein, havinga first dedicated haul, the extender device having a second dedicatedhaul for communication with the client device, wherein thecomputer-readable instructions are capable of instructing the clientdevice to perform the method including: instructing, via a processorconfigured to execute instruction stored on a memory, the GUI to displayan onboarding menu including a user selectable onboard extender icon;instructing, via a processor, by way of the second dedicated haul, theextender device to onboard onto the main APD, by way of a firstdedicated haul, in response to a user selection of the user selectableonboard extender icon; instructing, via the processor, the GUI to enablethe user to perform an operation while the extender device performs theonboarding onto the main APD; instructing, via the processor, the GUI todisplay a successful onboarding indication if the extender deviceonboards onto the main APD within a predetermined period of time; andinstructing, via the processor, the GUI to display a failure onboardingindication if the extender device does not onboard onto the main APDwithin the predetermined period of time.

In some embodiments, the computer-readable instructions are capable ofinstructing, via the processor, the extender device to onboard onto themain APD includes instructing the extender device to onboard onto themain APD wirelessly.

In some embodiments, instructions are capable of instructing the clientdevice to perform the method further including: accessing, via theprocessor, the host table; and determining, via the processor, whetherthe extender device onboards onto the main APD within the predeterminedperiod of time by identifying the extender device on the host table intwo consecutive instances within the predetermined period of time.

In some embodiments, the computer-readable instructions are capable ofinstructing the client device to perform the method further includinginstructing, via the processor, the GUI to additionally displaytroubleshooting instructions if the extender device does not onboardonto the main APD within the predetermined period of time.

BRIEF SUMMARY OF THE DRAWINGS

The accompanying drawings, which are incorporated in and form a part ofthe specification, illustrate example embodiments and, together with thedescription, serve to explain the principles of the invention. In thedrawings:

FIG. 1 illustrates a communication network;

FIG. 2 illustrates a GUI displayed on a client device;

FIG. 3 illustrates a communication network, in accordance with aspectsof the present disclosure;

FIG. 4 illustrates an algorithm to be executed by a processor foroptimizing Wi-Fi extender installation using a mobile app, in accordancewith aspects of the present disclosure;

FIG. 5 illustrates an exploded view of a main APD, a Wi-Fi extender, anda client device, in accordance with aspects of the present disclosure;

FIG. 6A illustrates a GUI at a time t₀ displayed on a client device, inaccordance with aspects of the present disclosure;

FIG. 6B illustrates a GUI at a time t₁ displayed on a client device, inaccordance with aspects of the present disclosure; and

FIG. 6C illustrates a GUI at a time t₂ displayed on a client device, inaccordance with aspects of the present disclosure.

DETAILED DESCRIPTION

When a user purchases a new Wi-Fi extender for the residence, they mustonboard it to their existing network. Through the use of a clientdevice, a user may begin onboarding the extender to the network of theirmain APD. The client device will connect these two devices through abackhaul. One connected, the new Wi-Fi extender will disconnect andreconnect multiple times, as it will be rebooting while updating itssoftware. The client device waits for an unpredictably long duration oftime until the Wi-Fi extender completes multiple reboots after upgradingits firmware. During this wait time, the client device cannot be usedfor any other tasks. This creates a poor user experience.

The idea here is to come up with a novel approach that employs themobile app and its capabilities to provide better Wi-Fi extenderonboarding user experience. The proposal in this disclosure is to use anovel technique to eliminate the long waiting time for the user whilethe Wi-Fi extender is completing the onboarding process in thebackground and thus preventing a bad user experience in terms of longwait time.

FIG. 1 illustrates a communication network 100.

As shown in the figure, communication network 100 includes a residence102, a service provider server 104, an external network 106, a user 110,a client device 112, a main APD 114, a Wi-Fi extender 116, physicalmedia/wiring 118, a wireless local area network (WLAN) 122, andcommunication channels 120, 124, 126, and 128.

Main APD 114 is an electronic device that is to be located so as toestablish a local area network (LAN) at a consumer premises. Theconsumer premises can include a residential dwelling, office, or anyother business space of a user. The terms home, office, and premises maybe used synonymously herein.

Main APD 114 may be any device or system that is operable to allow datato flow from one discrete network to another. Main APD 114 may performsuch functions as web acceleration and HTTP compression, flow control,encryption, redundancy switchovers, traffic restriction policyenforcement, data compression, TCP performance enhancements (e.g., TCPperformance enhancing proxies, such as TCP spoofing), quality of servicefunctions (e.g., classification, prioritization, differentiation, randomearly detection (RED), TCP/UDP flow control), bandwidth usage policing,dynamic load balancing, and routing.

Main APD 114 establishes, or is part of, communication network 100,using Wi-Fi for example, such that client device 112 and Wi-Fi extender116 are able to communicate wirelessly with main APD 114. In particular,main APD 114 is able to communicate wirelessly directly with clientdevice 112 and Wi-Fi extender 116. Further, main APD 114 is able tocommunicate wirelessly with Wi-Fi extender 116 via communication channel128 and is able to communicate wirelessly with client device 112 viacommunication channel 126. The term Wi-Fi as used herein may beconsidered to refer to any of Wi-Fi 4, 5, 6, 6E, or any variationthereof.

Further, it should be noted that main APD 114 is able to communicatewith service provider server 104 via physical media/wiring 118, whichmay optionally be a wireless communication system, such as 4G, or 5G,and further is able to connect to external network 106, e.g., theInternet, via service provider server 104.

Service provider server 104 includes head-end equipment such as servercomputers (e.g., automatic configuration server ACS, cable modemtermination system (CMTS)) that enable a content provider, such as acable television provider, a satellite television provider, an internetservice provider, or multiple-systems operator (MSO), to provide content(such as audio/video content and/or internet service) either throughphysical media/wiring 118, such as a coaxial network, an optical fibernetwork, and/or DSL, or external network 106, such as a satellite orterrestrial antenna implemented network or a combination of any of theseexamples or their equivalents. The data communicated on such network canbe implemented using a variety of protocols on a network such as a widearea network (WAN), a virtual private network (VPN), metropolitan areanetworks (MANs), system area networks (SANs), a DOC SIS network, a fiberoptics network (e.g., FTTH (fiber to the home), FTTX (fiber to the X),or hybrid fiber-coaxial (HFC)), a digital subscriber line (DSL), apublic switched data network (PSDN), a global Telex network, or a 2G,3G, 4G or 5G, for example.

Main APD 114 serves as a gateway or access point to external network106, e.g., the Internet (or otherwise as mentioned above), for one ormore electronic devices, such as client device 112, that wirelesslycommunicate with main APD 114 via, e.g., Wi-Fi. Client device 112 can bea desk top computer, laptop computer, electronic tablet device, smartphone, appliance, or any so-called internet of things equipped devicesthat are equipped to communicate information via WLAN 122.

Wi-Fi extenders 116 can be paired with main APD 114 in order tocommunicate wirelessly with main APD 114 and extend the coverage area ofWLAN 122. Client device 112 can be in communication with main APD 114 orWi-Fi extender 116.

Main APD 114 has the capability of wirelessly communicating with pluralelectronic user devices over respective communication avenues. In orderto extend the area in which WLAN 122 is effective, beyond the radioreach of main APD 114, Wi-Fi extender 116 can be added. Theestablishment of the operative communications between Wi-Fi extender 116and main APD 114 is referred to as onboarding the extender. Wi-Fiextender 116 can communicate wirelessly with main APD 114. However,rather than using one of the communication avenues that are allocatedfor communication with user devices, a dedicated avenue of communicationmay be established, at least at some times, between Wi-Fi extender 116and main APD 114. This dedicated avenue is referred to as a backhaul.

Within WLAN 122, electronic devices are often referred to as beingstations in WLAN 122. In IEEE 802.11 (Wi-Fi) terminology, a station(abbreviated as STA) is a device that has the capability to use the802.11 protocol. For example, a station may be a laptop, a desktop PC,PDA, access point or Wi-Fi phone. An STA may be fixed, mobile orportable. Generally in wireless networking terminology, a station,wireless client, and node are often used interchangeably, with no strictdistinction existing between these terms. A station may also be referredto as a transmitter or receiver based on its transmissioncharacteristics. IEEE 802.11-2012 defines station as: a logical entitythat is a singly addressable instance of a medium access control (MAC)and physical layer (PHY) interface to the wireless medium (WM).

A wireless access point (WAP), or more generally just access point (AP),is a networking hardware device that allows other Wi-Fi devices toconnect to a Wi-Fi network. A service set ID (SSID) is an identification(in IEEE 802.11) that is broadcast by access points in beacon packets toannounce the presence of a network access point for the SSID. SSIDs arecustomizable IDs that can be zero to 32 bytes, and can be in a naturallanguage, such as English. In WLAN 122, main APD 114 and Wi-Fi extender116 are access points for WLAN 122.

Consider the situation where user 110 purchases Wi-Fi extender 116 forresidence 102. Using client device 112, user 110 would like to connectWi-Fi extender 116 to WLAN 122. To do this, Wi-Fi extender 116 must beonboarded to main APD 114. So, user 110 onboards Wi-Fi extender 116 ontomain APD 114 using client device 112. This will be described in greaterdetail with reference to FIG. 2 .

FIG. 2 illustrates a GUI 200 displayed on client device 112.

As shown in the figure, FIG. 2 illustrates GUI 200 being displayed on adisplay 234 of client device 112. On display 234 is icon 201.

Referencing the situation above, user 110 has begun onboarding Wi-Fiextender 116 onto main APD 114. As shown in FIG. 2 , client device 112has icon 201 displayed on display 234. This icon lets the user know thatWi-Fi extender 116 is currently onboarding main APD 114. This processmay take anywhere from 5 to 7 minutes. However, in this time frame, user110 cannot use client device 112. If user 110 wants to complete a taskusing client device 112, they now have to wait for the onboardingprocess to complete, or they can close the application which will impactthe onboarding process. This process creates a poor customer experience.

What is needed is a system and method for optimizing the installationprocess of Wi-Fi extenders.

A system and method in accordance with the present disclosure optimizesthe installation process of Wi-Fi extenders.

In accordance with the present disclosure, a user will use a clientdevice to onboard a new Wi-Fi extender. Initially, the Wi-Fi extenderwill connect to a main APD by a backhaul. During this process, theextender will be connected and disconnected periodically, due to theextender updating software. This process can take anywhere from 5 to 7minutes. While this process is going on, the user is free to use theirclient device however they want as the onboarding process will behappening in the background, no longer preventing the user from usingtheir client device. When the process is complete, the user will receivea notification alerting them of the onboarding process being a successor failure.

Onboarding an extender to a main APD may be performed in any knownmanner, a non-limiting example of which is disclosed in U.S. utilitypatent application Ser. No. 16/938,305, filed Jul. 24, 2020, the entiredisclosure of which is incorporated herein by reference.

An example system and method for optimizing the installation process ofWi-Fi extenders in accordance with aspects of the present disclosurewill now be described in greater detail with reference to FIGS. 3-6C.

FIG. 3 illustrates a communication network 300 in accordance withaspects of the present disclosure.

As shown in the figure, communication network 300 includes a residence102, a service provider server 104, an external network 106, a user 110,a client device 312, a main APD 114, a Wi-Fi extender 116, physicalmedia/wiring 118, a WLAN 122, and communication channels 120, 124, 126,and 128.

Consider the situation where user 110 purchases Wi-Fi extender 116 forresidence 102. Using client device 312, user 110 would like to connectWi-Fi extender 116 to external network 106. To do this, Wi-Fi extender116 must be onboarded to main APD 114. So, user 110 onboards Wi-Fiextender 116 onto main APD 114 using client device 312. This will bedescribed in greater detail with reference to FIG. 4 .

FIG. 4 illustrates an algorithm 400 to be executed by a processor foroptimizing Wi-Fi extender installation using a mobile app in accordancewith aspects of the present disclosure.

As shown in the figure, algorithm 400 starts (S402) and the onboardingGUI is displayed (S404). This will be discussed in greater detail withreference to FIGS. 5 and 6A.

FIG. 5 illustrates an exploded view of main APD 114, Wi-Fi extender 116,and client device 312.

As shown in FIG. 5 , main APD 114 includes: a controller 502; a homenetwork controller (HNC) 503; a memory 504, which has stored therein anonboarding program 506; at least one radio, a sample of which isillustrated as a radio 508; and an interface circuit 510.

In this example, controller 502, memory 504, radio 508, and interfacecircuit 510 are illustrated as individual devices. However, in someembodiments, at least two of controller 502, memory 504, radio 508, andinterface circuit 510 may be combined as a unitary device. Whether asindividual devices or as combined devices, controller 502, memory 504,radio 508, and interface circuit 510 may be implemented as anycombination of an apparatus, a system and an integrated circuit.Further, in some embodiments, at least one of controller 502, memory 504and interface circuit 510 may be implemented as a computer havingnon-transitory computer-readable media for carrying or havingcomputer-executable instructions or data structures stored thereon. Suchnon-transitory computer-readable recording medium refers to any computerprogram product, apparatus or device, such as a magnetic disk, opticaldisk, solid-state storage device, memory, programmable logic devices(PLDs), DRAM, RAM, ROM, EEPROM, CD-ROM or other optical disk storage,magnetic disk storage or other magnetic storage devices, or any othermedium that can be used to carry or store desired computer-readableprogram code in the form of instructions or data structures and that canbe accessed by a general-purpose or special-purpose computer, or ageneral-purpose or special-purpose processor. Disk or disc, as usedherein, includes compact disc (CD), laser disc, optical disc, digitalversatile disc (DVD), floppy disk and Blu-ray disc. Combinations of theabove are also included within the scope of computer-readable media. Forinformation transferred or provided over a network or anothercommunications connection (either hardwired, wireless, or a combinationof hardwired or wireless) to a computer, the computer may properly viewthe connection as a computer-readable medium. Thus, any such connectionmay be properly termed a computer-readable medium. Combinations of theabove should also be included within the scope of computer-readablemedia.

Example tangible computer-readable media may be coupled to a processorsuch that the processor may read information from, and write informationto the tangible computer-readable media. In the alternative, thetangible computer-readable media may be integral to the processor. Theprocessor and the tangible computer-readable media may reside in anintegrated circuit (IC), an application specific integrated circuit(ASIC), or large scale integrated circuit (LSI), system LSI, super LSI,or ultra LSI components that perform a part or all of the functionsdescribed herein. In the alternative, the processor and the tangiblecomputer-readable media may reside as discrete components.

Example tangible computer-readable media may be also coupled to systems,non-limiting examples of which include a computer system/server, whichis operational with numerous other general purpose or special purposecomputing system environments or configurations. Examples of well-knowncomputing systems, environments, and/or configurations that may besuitable for use with computer system/server include, but are notlimited to, personal computer systems, server computer systems, thinclients, thick clients, handheld or laptop devices, multiprocessorsystems, microprocessor-based systems, set-top boxes, programmableconsumer electronics, network PCs, minicomputer systems, mainframecomputer systems, and distributed cloud computing environments thatinclude any of the above systems or devices, and the like.

Such a computer system/server may be described in the general context ofcomputer system-executable instructions, such as program modules, beingexecuted by a computer system. Generally, program modules may includeroutines, programs, objects, components, logic, data structures, and soon that perform particular tasks or implement particular abstract datatypes. Further, such a computer system/server may be practiced indistributed cloud computing environments where tasks are performed byremote processing devices that are linked through a communicationsnetwork. In a distributed cloud computing environment, program modulesmay be located in both local and remote computer system storage mediaincluding memory storage devices.

Components of an example computer system/server may include, but are notlimited to, one or more processors or processing units, a system memory,and a bus that couples various system components including the systemmemory to the processor.

The bus represents one or more of any of several types of busstructures, including a memory bus or memory controller, a peripheralbus, an accelerated graphics port, and a processor or local bus usingany of a variety of bus architectures. By way of example, and notlimitation, such architectures include Industry Standard Architecture(ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA)bus, Video Electronics Standards Association (VESA) local bus, andPeripheral Component Interconnects (PCI) bus.

A program/utility, having a set (at least one) of program modules, maybe stored in the memory by way of example, and not limitation, as wellas an operating system, one or more application programs, other programmodules, and program data. Each of the operating system, one or moreapplication programs, other program modules, and program data or somecombination thereof, may include an implementation of a networkingenvironment. The program modules generally carry out the functionsand/or methodologies of various embodiments of the application asdescribed herein.

Controller 502 may be implemented as a hardware processor such as amicroprocessor, a multi-core processor, a single core processor, a fieldprogrammable gate array (FPGA), a microcontroller, an applicationspecific integrated circuit (ASIC), a digital signal processor (DSP), orother similar processing device capable of executing any type ofinstructions, algorithms, or software for controlling the operation andfunctions of the main APD 114 in accordance with the embodimentsdescribed in the present disclosure.

Memory 504 can store various programming, and user content, and dataincluding onboarding program 506. Onboarding program 506, as will bedescribed in greater detail below, has instructions stored thereon to beexecuted by HNC 503 to cause main AD 114 to effectuate the onboarding ofextender 116.

Interface circuit 510 can include one or more connectors, such as RFconnectors, or Ethernet connectors, and/or wireless communicationcircuitry, such as 5G circuitry and one or more antennas. Interfacecircuit 510 receives content from service provider server 104 (as shownin FIG. 1 ) by known methods, non-limiting examples of which includeterrestrial antenna, satellite dish, wired cable, DSL, optical fibers,or 5G as discussed above. Through interface circuit 510, main APD 114receives an input signal, including data and/or audio/video content,from service provider server 104 and can send data to service providerserver 104.

Radio 508, (and preferably two or more radios), may also be referred toas a wireless communication circuit, such as a Wi-Fi WLAN interfaceradio transceiver and is operable to communicate with client device 312and with Wi-Fi extender 116. Radio 508 includes one or more antennas andcommunicates wirelessly via one or more of the 2.4 GHz band, the 5 GHzband, the 6 GHz band, and the 60 GHz band, or at the appropriate bandand bandwidth to implement any IEEE 802.11 Wi-Fi protocols, such as theWi-Fi 4, 5, 6, or 6E protocols. Main APD 114 can also be equipped with aradio transceiver/wireless communication circuit to implement a wirelessconnection in accordance with any Bluetooth protocols, Bluetooth LowEnergy (BLE), or other short range protocols that operate in accordancewith a wireless technology standard for exchanging data over shortdistances using any licensed or unlicensed band such as the CBRS band,2.4 GHz bands, 5 GHz bands, 6 GHz bands, or 60 GHz bands, RF4CEprotocol, ZigBee protocol, Z-Wave protocol, or IEEE 802.15.4 protocol.

Wi-Fi extender 116 includes: a controller 514; a main memory 516, whichhas stored therein an onboarding program 518; at least one radio, asample of which is illustrated as a radio 520; and an interface 522. Itshould be noted that additional Wi-Fi extenders have similar structureand operation to that of Wi-Fi extender 116.

In this example, controller 514, main memory 516, radio 520 andinterface 522 are illustrated as individual devices. However, in someembodiments, at least two of controller 514, main memory 516, radio 520and interface 522 may be combined as a unitary device. Further, in someembodiments, at least one of controller 514 and main memory 516 may beimplemented as a computer having tangible computer-readable media forcarrying or having computer-executable instructions or data structuresstored thereon.

Controller 514 may be implemented as hardware circuitry such as adedicated control circuit, CPU, a hardware processor such as amicroprocessor, a multi-core processor, a single core processor, a fieldprogrammable gate array (FPGA), a microcontroller, an applicationspecific integrated circuit (ASIC), a digital signal processor (DSP), orother similar processing device capable of executing any type ofinstructions, algorithms, or software for controlling the operation andfunctions of the Wi-Fi extender 116 in accordance with the embodimentsdescribed in the present disclosure.

Memory 516 can store various programming, and user content, and dataincluding onboarding program 518. Onboarding program 518, as will bedescribed in greater detail below, has instructions stored thereon to beexecuted by controller 514 to cause controller 514 to effectuate theonboarding of extender 116 onto main APD 114.

Radio 520, such as a WLAN interface radio transceiver, is operable tocommunicate with client device 312 and with main APD 114, as shown inFIG. 3 . Radio 520 includes one or more antennas and communicateswirelessly via one or more of the 2.4 GHz band, the 5 GHz band, the 6GHz band, and the 60 GHz band, or at the appropriate band and bandwidthto implement any IEEE 802.11 Wi-Fi protocols, such as the Wi-Fi 4, 5, 6,or 6E protocols. Wi-Fi extender 116 can also be equipped with a radiotransceiver/wireless communication circuit to implement a wirelessconnection in accordance with any Bluetooth protocols, Bluetooth LowEnergy (BLE), or other short range protocols that operate in accordancewith a wireless technology standard for exchanging data over shortdistances using any licensed or unlicensed band such as the CBRS band,2.4 GHz bands, 5 GHz bands, 6 GHz bands, or the 60 GHz bands, RF4CEprotocol, ZigBee protocol, Z-Wave protocol, or IEEE 802.15.4 protocol.

Interface 522 can include one or more connectors, such as RF connectors,or Ethernet connectors, and/or wireless communication circuitry, such as5G circuitry and one or more antennas.

Client device 312 includes: a controller 524; a memory 526, which hasstored therein an onboarding program 528; and at least one radio, asample of which is illustrated as a radio 530; an interface 532 and adisplay 534.

In this example, controller 524, main memory 526, radio 530, interface532 and display 534 are illustrated as individual devices. However, insome embodiments, at least two of controller 524, memory 526, radio 530,interface 532 and display 534 may be combined as a unitary device.Further, in some embodiments, at least one of controller 524 and mainmemory 526 may be implemented as a computer having tangiblecomputer-readable media for carrying or having computer-executableinstructions or data structures stored thereon.

Controller 524 may be implemented as a hardware processor such as amicroprocessor, a multi-core processor, a single core processor, a fieldprogrammable gate array (FPGA), a microcontroller, an applicationspecific integrated circuit (ASIC), a digital signal processor (DSP), orother similar processing device capable of executing any type ofinstructions, algorithms, or software for controlling the operation andfunctions of client device 312 in accordance with the embodimentsdescribed in the present disclosure.

Onboarding program 528, as will be described in greater detail below,has instructions stored thereon to be executed by controller 524 tocause client device 312 to: instruct a GUI to display an onboarding menuincluding a user selectable onboard extender icon; instruct, by way ofthe second dedicated haul, Wi-Fi extender 116 to onboard onto main APD114, by way of a first dedicated haul, in response to a user selectionof the user selectable onboard extender icon; instruct the GUI to enableuser 110 to perform an operation while Wi-Fi extender 116 performs theonboarding onto main APD 114; instruct the GUI to display a successfulonboarding indication if Wi-Fi extender 116 onboards onto main APD 114within a predetermined period of time; and instruct the GUI to display afailure onboarding indication if Wi-Fi extender 116 does not onboardonto main APD 114 within the predetermined period of time.

Onboarding program 528, as will be described in greater detail below,has additional instructions stored thereon to be executed by controller524 to cause client device 116 to instruct Wi-Fi extender 116 to onboardonto main APD 114 wirelessly.

Onboarding program 528, as will be described in greater detail below,has additional instructions stored thereon to be executed by controller524 to cause client device 116 to: access the host table; and determinewhether Wi-Fi extender 116 onboards onto main APD 114 within thepredetermined period of time by identifying Wi-Fi extender 116 on thehost table in two consecutive instances within the predetermined periodof time.

Onboarding program 528, as will be described in greater detail below,has additional instructions stored thereon to be executed by controller524 to cause client device 312 to instruct the GUI to additionallydisplay troubleshooting instructions if Wi-Fi extender 116 does notonboard onto main APD 114 within the predetermined period of time.

Radio 530, may include a WLAN interface radio transceiver that isoperable to communicate with client devices 312 and with Wi-Fi extender116 as shown in FIG. 3 . Radio 220 includes one or more antennas andcommunicates wirelessly via one or more of the 2.4 GHz band, the 5 GHzband, the 6 GHz band, and the 60 GHz band, or at the appropriate bandand bandwidth to implement any IEEE 802.11 Wi-Fi protocols, such as theWi-Fi 4, 5, 6, or 6E protocols. Radio 530 can also be equipped with aradio transceiver/wireless communication circuit to implement a wirelessconnection in accordance with any Bluetooth protocols, Bluetooth LowEnergy (BLE), or other short range protocols that operate in accordancewith a wireless technology standard for exchanging data over shortdistances using any licensed or unlicensed band such as the CBRS band,2.4 GHz bands, 5 GHz bands, 6 GHz bands or 60 GHz bands, RF4CE protocol,ZigBee protocol, Z-Wave protocol, or IEEE 802.15.4 protocol.

Interface 532 can include one or more connectors, such as RF connectors,or Ethernet connectors, and/or wireless communication circuitry, such as5G circuitry and one or more antennas.

Display 534 may be any known device or system to display an image to theuser.

In the event that a client device within a user's WLAN is not a clientdevice similar to client device 312, such a client device may stillinclude: a controller, which can include a dedicated hardware circuitrysuch as a dedicated control circuit, CPU, microprocessor, etc., and thatcontrols the circuits of the client device; a main memory, which hasstored therein an onboarding program, that is similar to main memory 526and onboarding program 528, respectively, of client device 312 discussedabove; a radio similar to radio 530 of mobile device 116 discussedabove; in additional to further functional circuitry. Accordingly, anyof the client devices may include a Wi-Fi WLAN interface radiotransceiver that is operable to communicate with other client devices,with Wi-Fi extender 116 and with main APD 114, as shown in FIG. 3 .Further, any of the client devices may include a radio that is similarto radio 220 of client device 312 discussed above. Still further, any ofthe client devices may be equipped with a radio transceiver/wirelesscommunication circuit to implement a wireless connection in accordancewith any Bluetooth protocols, Bluetooth Low Energy (BLE), or other shortrange protocols that operate in accordance with a wireless technologystandard for exchanging data over short distances using any licensed orunlicensed band such as the CBRS band, 2.4 GHz bands, 5 GHz bands, 6 GHzbands or 60 GHz bands, RF4CE protocol, ZigBee protocol, Z-Wave protocol,or IEEE 802.15.4 protocol, in a manner similar to client device 312discussed above.

FIG. 6A illustrates a GUI 600 at a time t₀ displayed on client device312, in accordance with aspects of the present disclosure.

As shown in the figure, FIG. 6A illustrates GUI 600, being displayed ondisplay 534 of client device 312. On display 534 is icon 601.

With reference to the example given above, user 110 is using clientdevice 312 to begin this onboarding process. Referencing FIG. 6A, user110 will see icon 601 on GUI 600, which is displayed on display 534.This icon indicates that the onboarding process has begun.

Returning to FIG. 4 , after onboarding GUI is displayed (S404), thebackhaul settings are configured (S406). For example, main APD 114 sendsa signal to Wi-Fi extender 116. This will establish communicationchannel 128, also known as a backhaul. Communication channel 128 is adedicated backhaul between main APD 114 and Wi-Fi extender 116, andcommunication channel 128 may be a wired or wireless communicationchannel. Client device 116 may provide user credentials associated withclient device 116, non-limiting examples of which include a user ID, apassword, and SSID. Main APD 114 provides these credentials to Wi-Fiextender 116 by way of communication channel 128.

Returning to FIG. 4 , after the backhaul settings are configured (S406),the extender is connected to the Wi-Fi network (S408). For example, onceWi-Fi extender 116 establishes communication channel 128, a backhaul,with main APD 114, then main APD 114 is able to connect Wi-Fi extender116 to external network 106. Wi-Fi extender 116 is connected to externalnetwork 106 by way of physical media/wiring 118, through serviceprovider server 104, then up through communication channel 120.

Returning to FIG. 4 , after the extender is connected to the Wi-Finetwork (S408), a timer is started (S410). For example, as shown in FIG.3 , once client device 312 is at the home screen, a timer is started. Asshown in FIG. 5 , in an example embodiment, controller 524 starts andmonitors the timer. This timer will continue for a predetermined periodof time T to determine if the onboarding process has failed or not.

Returning to FIG. 4 , after the timer is started (S410), the onboardingGUI is removed (S412). This will be described in greater detail withreference to FIG. 6B.

FIG. 6B illustrates a GUI 600 at a time t₁ displayed on client device312.

As shown in the figure, FIG. 6B illustrates GUI 600, being displayed ondisplay 534 of client device 312. On display 534 are icons 604, 606, and608.

Returning to the example above, once the timer has been started, icon601 of FIG. 6A is removed from GUI 600. User 110 is free to use clientdevice 312 for regular activities, a non-limiting example of which is aphone call.

Returning to FIG. 4 , after the onboarding GUI is removed (S412), thehome screen is launched (S414). For example, as shown in FIG. 3 , onceWi-Fi extender 116 is connected to external network 106, client device312 is able to leave the application and go to the home screen.

Returning to FIG. 4 , after the home screen is launched (S414), thetopology is read (S416). For example, as shown in FIG. 5 , controller524 of client device 312 may read the topology from HNC 503 in main APD114, wherein the topology is created using the host table within memory504 of main APD 114 and other platform information.

Returning to FIG. 4 , after the topology is read (S416), it isdetermined whether the extender is present in the topology (S418). Forexample, client device 312 will determine if Wi-Fi extender 116 ispresent in the topology of residence 102.

Returning to FIG. 4 , if it is determined that the extender is notpresent in the topology (N at S418), then the topology is read again(Return to S416). For example, client device will continue to loopthrough these steps until Wi-Fi extender 116 appears in the topology.

Returning to FIG. 4 , if it is determined that the extender is presentin the topology (Y at S418), then the host table is read (S420). Forexample, main APD 114 will list on the host table all associateddevices. Once Wi-Fi extender 116 has started onboarding onto main APD114, Wi-Fi extender 116 will be listed on the host table. Client device312 reads the host table of main APD 114 to determine if Wi-Fi extender116 is connected.

Returning to FIG. 4 , after the host table is read (S420), it isdetermined whether the extender is active consecutively twice in thehost table (S422). For example, client device 312 will check the hosttable of main APD 114 to see if Wi-Fi extender 116 appears. After,client device 312 will repeat this process and check the host tableagain. This is done to ensure that Wi-Fi extender 116 is connected andthat there are no problems.

Returning to FIG. 4 , if it is determined that the extender is notactive consecutively twice in the host table (N at S422), it isdetermined if the timer is shorter than T minutes (S424). For example,if client device 312 discovers that Wi-Fi extender 116 has not appearsconsecutively twice in the host table check, then client device willcheck the timer.

Returning to FIG. 4 , if it is determined that the timer is not shorterthan T minutes (N at S424), then display the extender failure and thetroubleshoot indication (S426). For example, client device 312 willcheck the timer and determine if it is less than T minutes. Anon-limiting example of T minutes is 7 minutes. If the timer hascontinued for over 7 minutes, then an icon will appear on display 534 ofclient device 312, alerting user 110 of the onboarding failure. Thiswill be discussed in greater detail with reference to FIG. 6C.

Returning to FIG. 4 , after displaying the extender failure and thetroubleshoot indication (S426), then algorithm 400 stops (S432). Forexample, after user 110 is alerted of the onboarding failure of Wi-Fiextender 116, algorithm 400 will end.

Returning to FIG. 4 , if it is determined that the timer is shorter thanT minutes (Y at S424), then the host table is read again (Return toS420). For example, if T minutes is 7 minutes, and the timer has onlybeen on for 3 minutes, then client device 312 will begin checking thehost table for Wi-Fi extender 116 to appear consecutively twice.

Returning to FIG. 4 , after it is determined that the extender is activeconsecutively twice in the host table (Y at S422), then the timer isstopped (S428). For example, if client device 312 finds Wi-Fi extender116 twice consecutively in the host table, then the timer can stop, asWi-Fi extender 116 has successfully onboarded.

Returning to FIG. 4 , after the timer is stopped (S428), display thatextender is successfully connected (S430). This will be described ingreater detail with reference to FIG. 6C.

FIG. 6C illustrates a GUI 600 at a time t₂ displayed on client device312.

As shown in the figure, FIG. 6C illustrates GUI 600, being displayed ondisplay 534 of client device 312. On display 534 are icons 603, 604,606, and 608.

Returning to the example above, assume user 110 is using their phone todo a task, a non-limiting example of which is a phone call. Once Wi-Fiextender 116 is officially onboarded, a message will be relayed to user110. As shown in FIG. 6C, icon 603 appeared on display 534, alertinguser 110 that Wi-Fi extender 116 onboarded successfully.

In some embodiments, as described above, the onboarding process willfail. With reference to FIG. 6C, in such embodiments where onboardingfails, icon 603 would alert user 110 that the onboarding process hasfailed, not succeeded.

Returning to FIG. 4 , after displaying that extender successfullyconnected (S430), algorithm 400 ends (S432). For example, once user 110receives the successful onboarding message, algorithm 400 stops.

When a user purchases a new Wi-Fi extender for the residence, they mustonboard it to their existing network. Through the use of a clientdevice, a user may begin onboarding the extender to the network of theirmain APD. The client device will connect these two devices through abackhaul. One connected, the new Wi-Fi extender will disconnect andreconnect multiple times, as it will be rebooting while updating itssoftware. The client device waits for an unpredictably long duration oftime until the Wi-Fi extender completes multiple reboots after upgradingits firmware. During this wait time, the client device cannot be usedfor any other tasks. This creates a poor user experience.

In accordance with the present disclosure, a user will use a clientdevice to onboard a new Wi-Fi extender. Initially, the Wi-Fi extenderwill connect to a main APD by a backhaul. During this process, theextender will be connected and disconnected periodically, due to theextender updating software. This process can take anywhere from 5 to 7minutes. While this process is going on, the user is free to use theirclient device however they want as the onboarding process will behappening in the background, no longer preventing the user from usingtheir client device. When the process is complete, the user will receivea notification alerting them of the onboarding process being a successof failure.

Thus, the present disclosure as disclosed prevents the user's clientdevice from being affected by the long wait time of onboarding a newextender, and it alerts the user of the outcome of the onboardingprocess.

The operations disclosed herein may constitute algorithms that can beeffected by software, applications (apps, or mobile apps), or computerprograms. The software, applications, computer programs can be stored ona non-transitory computer-readable medium for causing a computer, suchas the one or more processors, to execute the operations describedherein and shown in the drawing figures.

The foregoing description of various preferred embodiments have beenpresented for purposes of illustration and description. It is notintended to be exhaustive or to limit the invention to the precise formsdisclosed, and obviously many modifications and variations are possiblein light of the above teaching. The example embodiments, as describedabove, were chosen and described in order to best explain the principlesof the invention and its practical application to thereby enable othersskilled in the art to best utilize the invention in various embodimentsand with various modifications as are suited to the particular usecontemplated. It is intended that the scope of the invention be definedby the claims appended hereto.

What is claimed is:
 1. A client device for instructing an extenderdevice to onboard, the client device comprising: a memory; a graphicuser interface (GUI); and a processor configured to execute instructionsstored on the memory to cause the client device to: instruct theextender device to onboard onto a main access point device (APD) inresponse to a user selection of a user selectable onboard extender iconof the GUI, wherein after an onboarding process is begun, the clientdevice is free to be used for an activity; and instruct the GUI todisplay an onboarding indication based on whether the extender device isidentified on a host table in two consecutive instances within apredetermined period of time.
 2. The client device of claim 1, whereinthe processor is configured to execute instructions stored on the memoryto additionally cause the client device to instruct the extender deviceto onboard onto the main APD wirelessly.
 3. The client device of claim1, wherein the onboarding indication is a success onboardingidentification.
 4. The client device of claim 1, wherein the onboardingindication is a failure onboarding indication.
 5. The client device ofclaim 4, wherein the processor is configured to execute instructionsstored on the memory to additionally cause the client device to instructthe GUI to additionally display troubleshooting instructions.
 6. Theclient device of claim 1, wherein the client device is a remoteprocessing device in a distributed cloud computing environment.
 7. Theclient device of claim 1, wherein the processor is further configured toexecute the instructions to further cause the client device to: start atimer; check the timer; wherein the instructing the GUI to display anonboarding indication is further based on the checking the timer.
 8. Amethod for a client device to instruct an extender device to onboard,the method comprising: instructing the extender device to onboard onto amain access point device (APD) in response to a user selection of a userselectable onboard extender icon of the GUI, wherein after an onboardingprocess is begun, the client device is free to be used for an activity;and instructing the GUI to display an onboarding indication based onwhether the extender device is identified on a host table in twoconsecutive instances within a predetermined period of time.
 9. Theclient device of claim 8, wherein the processor is configured to executeinstructions stored on the memory to additionally cause the clientdevice to instruct the extender device to onboard onto the main APDwirelessly.
 10. The client device of claim 8, wherein the onboardingindication is a success onboarding identification.
 11. The client deviceof claim 8, wherein the onboarding indication is a failure onboardingindication.
 12. The client device of claim 11, wherein the processor isconfigured to execute instructions stored on the memory to additionallycause the client device to instruct the GUI to additionally displaytroubleshooting instructions.
 13. The client device of claim 8, whereinthe client device is a remote processing device in a distributed cloudcomputing environment.
 14. The client device of claim 8, wherein theprocessor is further configured to execute the instructions to furthercause the client device to: start a timer; check the timer; wherein theinstructing the GUI to display an onboarding indication is further basedon the checking the timer.
 15. A non-transitory computer-readable mediumstoring a one or more computer-readable instructions for a client deviceto instruct an extender device to onboard, the one or morecomputer-readable instructions when executed by a processor of theclient device cause client device to perform one or more operationscomprising: instructing the extender device to onboard onto a mainaccess point device (APD) in response to a user selection of a userselectable onboard extender icon of the GUI, wherein after an onboardingprocess is begun, the client device is free to be used for an activity;and instructing the GUI to display an onboarding indication based onwhether the extender device is identified on a host table in twoconsecutive instances within a predetermined period of time.
 16. Theclient device of claim 15, wherein the processor is configured toexecute instructions stored on the memory to additionally cause theclient device to instruct the extender device to onboard onto the mainAPD wirelessly.
 17. The client device of claim 15, wherein at least oneof: the onboarding indication is a success onboarding identification;the client device is a remote processing device in a distributed cloudcomputing environment.
 18. The client device of claim 15, wherein theonboarding indication is a failure onboarding indication.
 19. The clientdevice of claim 18, wherein the processor is configured to executeinstructions stored on the memory to additionally cause the clientdevice to instruct the GUI to additionally display troubleshootinginstructions.
 20. The client device of claim 15, wherein the processoris further configured to execute the instructions to further cause theclient device to: start a timer; check the timer; wherein theinstructing the GUI to display an onboarding indication is further basedon the checking the timer.